home *** CD-ROM | disk | FTP | other *** search
- int
- do_each(TARG,hash,gimme,arglast)
- STR *TARG;
- HASH *hash;
- int gimme;
- int *arglast;
- {
- STR **st = stack->ary_array;
- register int sp = arglast[0];
- HENT *entry = hiternext(hash);
- int i;
- char *tmps;
-
- if (mystrk) {
- str_free(mystrk);
- mystrk = Nullstr;
- }
-
- if (entry) {
- if (gimme == G_ARRAY) {
- tmps = hiterkey(entry, &i);
- if (!i)
- tmps = "";
- st[++sp] = mystrk = str_make(tmps,i);
- }
- st[++sp] = TARG;
- str_sset(TARG,hiterval(hash,entry));
- STABSET(TARG);
- return sp;
- }
- else
- return sp;
- }
-